using System;
using Close.io.Client;
using Newtonsoft.Json;

namespace Close.io.API
{


	public class OpportunityStatusChange : StatusChange
	{

		[JsonProperty(PropertyName = "opportunity_date_won")]
		public DateTime? OpportunityDateWonTime { get; set; }

		[JsonProperty(PropertyName = "opportunity_id")]
		public string OpportunityId { get; set; }

		[JsonProperty(PropertyName = "opportunity_value")]
		public int? OpportunityValue { get; set; }

	}

	public class StatusChange : CloseIoUpdatedableObject, IIdentifiable
	{
		[JsonProperty(PropertyName = "_type")]
		public string Type { get; set; }

		[JsonProperty(PropertyName = "contact_id")]
		public string ContactId { get; set; }
		[JsonProperty(PropertyName = "lead_id")]
		public string LeadId { get; set; }

		[JsonProperty(PropertyName = "old_status_id")]
		public string OldStatusId { get; set; }

		[JsonProperty(PropertyName = "new_status_id")]
		public string NewStatusId { get; set; }


		[JsonProperty(PropertyName = "old_status_label")]
		public string OldStatus { get; set; }

		[JsonProperty(PropertyName = "new_status_label")]
		public string NewStatus { get; set; }

		
	}
}